home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 17 / CU Amiga Magazine's Super CD-ROM 17 (1997)(EMAP Images)(GB)[!][issue 1997-12].iso / CUCD / Programming / DiceSource / lib / string / strins.c < prev    next >
C/C++ Source or Header  |  1997-09-09  |  561b  |  42 lines

  1.  
  2. /*
  3.  *  STRINS.C
  4.  *
  5.  *    (c)Copyright 1992-1997 Obvious Implementations Corp.  Redistribution and
  6.  *    use is allowed under the terms of the DICE-LICENSE FILE,
  7.  *    DICE-LICENSE.TXT.
  8.  */
  9.  
  10. #include <string.h>
  11.  
  12. #ifndef HYPER
  13. #define HYPER(x) x
  14. #endif
  15.  
  16. void
  17. HYPER(strins)(d, s)
  18. char *d;
  19. const char *s;
  20. {
  21.     int len = strlen(s);    /*    # bytes to insert   */
  22.     char *ptr;
  23.  
  24.     /*
  25.      *    make room
  26.      */
  27.  
  28.     ptr = d + strlen(d);
  29.     while (ptr >= d) {
  30.     ptr[len] = ptr[0];
  31.     --ptr;
  32.     }
  33.  
  34.     /*
  35.      *    insert string
  36.      */
  37.  
  38.     while (*s)
  39.     *++ptr = *s++;
  40. }
  41.  
  42.